using System.Collections;
using System.Collections.Generic;
using UnityEngine;


[CreateAssetMenu(fileName = "BuffData", menuName = "BuffSystem/BuffData")]
public class BuffData : ScriptableObject
{
    public int id;
    public string className;
    public string buffName;
    public string description;
    public Sprite icon;
    public float priority;
    public int maxStack = 1;
    public string[] tags;
    public bool isForever;
    public float duration;
    public float tickTime;

    public override string ToString()
    {
        return $"buffData[id={id}, className={className}, buffName={buffName}, description={description}, priority={priority}, isForever={isForever}, duration={duration}, tickTime={tickTime}]";
    }
    
    // 更新方式
    public BuffUpdateTimeEnum buffUpdateTimeEnum;
    public BuffRemoveStackUpdateEnum buffRemoveStackUpdateEnum;
    
    // 回调点
    public BaseBuffModule OnStore;
    public BaseBuffModule OnCreate;
    public BaseBuffModule OnRemove;
    public BaseBuffModule OnTick;
    // 伤害回调点
    public BaseBuffModule OnHit;
    public BaseBuffModule OnBeHurt;
    public BaseBuffModule OnKill;
    public BaseBuffModule OnBeKill;
    
    // 事件代码回调
    public BaseBuffModule OnEventCallBack;
}
